凡事以官方為主
Kotlin 官方網站
https://kotlinlang.org/docs/reference/
https://sinadarvi.gitbooks.io/kotlin-for-android-developers/
Kotlin 中文網站
https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/GettingStarted/Basic-Syntax.html
今天這章會是一個簡易版 今天所寫會是大部分時候會用到的 如果之後有用到其他語法會再回來補充
Kotlin 註解
凡事從最重要的開始 註解
//單航註解
/* */區塊註解
有點類似C#
Kotlin 變數
(1)常數
val a: Int = 1 // 初期有值
val b = 2 // 類型自動推導為int
val c: Int // 沒有起始值時初始化請給予變數類型
c = 3 // 自動推倒為常數並給予變數類型為int
(2)變數
var x = 5 // 初始化初期有值自動推導為int
Kotlin 變數類型
(1)數值
(2)字串
var a = 1
// simple name in template:
val s1 = "a is $a"
a = 2
// arbitrary expression in template:
val s2 = "${s1.replace("is", "was")}, but now is $a"
(3) 代補 目前沒看到其他的類型
Kotlin 函式
fun 函式名稱 (帶入變數 : 變數類型):返回值類型 {
函式內容
}
Kotlin 條件式
(1)if
if 可以帶有返回值
var max = a
if (a < b) max = b
===============
if...else
var max: Int
if (a > b) {
max = a
}
else{
max = b
}
===============
直接表達式寫出
val max = if (a > b) a else b
(2)try catch 通常用在程式運行錯誤 印出錯誤訊息
try (表達式){
}
catch{
}
Kotlin 迴圈
(1)when
switch 取代
when (x) {
1 -> print("x == 1")
2 -> print("x == 2")
else -> { // Note the block
print("x is neither 1 nor 2")
}
}
else 可以放去表達式裡
when (x) {
0,1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}
表達式裡可以放其他的表達式
when (x) {
parseInt(s) -> print("s encode x")
else -> print("s does not encode x")
}
可以用in 或!in 偵測變數是否在集合或者範圍中
when (x) {
in 1..10 -> print("x is in the range")
in validNumbers -> print("x is valid")
!in 10..20 -> print("x is outside the range")
else -> print("none of the above")
}
可以用is或!is來判斷值的類型
val hasPrefix = when (x) {
is String -> x.startsWith("prefix")
else -> false
}
(2)for
基本型
for (item in collection)
print(item)
=================
for (item: Int in ints){
// ...
}
=================
for (i in array.indices)
print(array[i]
=================
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
=================
(3)while
while (x > 0) {
x--
}
do {
val y = retrieveData()
} while (y != null)
(4) Kotlin 支援 break 和 continue
Kotlin package & import
(1) package
package package名稱
(2) import
import 套件名稱
其他待補